var express = require('express')
var app = express()
app.use(express.static('work'))

app.use(express.json())
app.use(express.urlencoded({ extended: false }))

var fs = require('fs')
var path = require('path')

//设置接口
//分页（查询）
app.get('/user/list', (req, res) => {
    var { page, count } = req.query
    //读取users.json文件中的用户数据
    var filepath = path.join(__dirname, './json/users.json')
    var arr = fs.readFileSync(filepath)
    arr = arr.toString() ? JSON.parse(arr) : []
    //分页
    var newarr = arr.slice((page - 1) * count, page * count)

    res.send({ code: 200, msg: '请求成功', list: newarr })
})

//搜索
app.get('/user/search', (req, res) => {
    var { key } = req.query
    //读取users.json文件中的用户数据
    var filepath = path.join(__dirname, './json/users.json')
    var arr = fs.readFileSync(filepath)
    arr = arr.toString() ? JSON.parse(arr) : []

    var newarr = arr.filter((item) => {
        return item.name.includes(key) || item.phone.includes(key)
    })
    res.send({ code: 200, msg: '查询成功', list: newarr })
})

//登录
app.post('/user/login', (req, res) => {
    var { phone, pass } = req.body
    //读取users.json文件中的用户数据
    var filepath = path.join(__dirname, './json/users.json')
    var arr = fs.readFileSync(filepath)
    arr = arr.toString() ? JSON.parse(arr) : []

    var i = arr.findIndex((item) => {
        return item.phone == phone && item.pass == pass
    })
    if (i != -1) {
        res.send({ code: 200, msg: '登陆成功', userinfo: arr[i], token: '' })
    } else {
        res.send({ code: 400, msg: '登陆失败' })
    }
})

//注册
app.post('/user/register',(req,res)=>{
    var {phone}=req.body
    //读取users.json文件中的用户数据
    var filepath = path.join(__dirname, './json/users.json')
    var arr = fs.readFileSync(filepath)
    arr = arr.toString() ? JSON.parse(arr) : []

    var i = arr.findIndex((item) => {
        return item.phone == phone
    })
    if (i != -1) {
        res.send({ code: 400, msg: '该手机号已注册'})
    } else {
        arr.push({...req.body,ingroup:'开发组',isadmin:true,state:true})
        fs.writeFileSync(filepath, JSON.stringify( arr ), 'utf8' )
        res.send({ code: 200, msg: '注册成功' })
    }
})

//删除
app.post('/user/delete', (req, res) => {
    var { phone } = req.body
    //读取users.json文件中的用户数据
    var filepath = path.join(__dirname, './json/users.json')
    var arr = fs.readFileSync(filepath)
    arr = arr.toString() ? JSON.parse(arr) : []

    var i = arr.findIndex((item) => {
        return item.phone == phone
    })
    if (i != -1) {
        arr.splice(i, 1);
        fs.writeFileSync(filepath, JSON.stringify(arr), 'utf8')
        var newarr = arr.slice(0, 3)
        res.send({ code: 200, msg: '删除成功', list: newarr })
    }else{
        res.send({ code: 200, msg: '删除失败'})
    }
})

app.listen(8080, () => {
    console.log('服务器运行在：http://localhost:8080');
})